package com.htl.reflection.test;

import com.htl.reflection.entity.Dog;

import java.lang.reflect.Field;

public class Reflection__test3 {
    public static void main(String[] args) throws Exception {
        // 获取Class
        Class clazz = Dog.class;
        // 获取属性数组（公有属性）（自身以及从父类继承的）
        Field[] fields = clazz.getFields();
        for (Field field : fields) {
            System.out.println(field);
        }
        System.out.println("----------------------------------------------------------------");

        // 获取属性数组（对访问权限修饰符无要求）
        Field[] declaredFields = clazz.getDeclaredFields();
        for (Field declaredField : declaredFields) {
            System.out.println(declaredField);
        }
        System.out.println("----------------------------------------------------------------");

        //根据属性名获取公有属性
        Field field = clazz.getField("id");
        System.out.println(field);
        System.out.println("----------------------------------------------------------------");

        //根据属性名获取属性（对访问权限修饰符无要求）
        Field id = clazz.getDeclaredField("id");
        System.out.println(id);
    }
}

